Trend-factored rfm scores to improve campaign performance

ABSTRACT

A computer determines an RFM score for each of a plurality of contacts, each RFM score comprising a recency score, a frequency score and a monetary score respectively based on assigning recency values, frequency values, and monetary values of the plurality of contacts to groups. The computer generates trend factors, wherein the trend factors are based on the monetary values and timestamps of each of a plurality of transactions for each contact of the plurality of contacts. The computer generates a mean trend factor, based on the trend factors generated for each of the plurality of transactions for each contact of the plurality of contacts, and determines, by one or more processors, a trend adjusted RFM (tRFM) score based on applying the mean trend factor to at least one of the recency score, the frequency score, and the monetary score, for each contact of the plurality of contacts.

BACKGROUND OF THE INVENTION

The present invention relates generally to the field of consumerbehavior forecasting, and more particularly to improving theeffectiveness of response to solicitations.

Marketing campaigns are used to focus sales or solicitation efforts andimprove desired results. A marketing campaign uses organized activitiesto promote a product or a specific result through the use of differentmediums, typically using various types of advertizing. Undirectedadvertizing can be ineffective, costly and wasteful, therefore campaignsbenefit from efforts that identify distinguishable groups that are mostlikely to respond positively to marketing solicitations.

Commercial solicitations, whether for traditional sales, direct sales orfor contributions, make use of marketing techniques to identify contactsets having higher probability of responding. All forms of marketingcarry a cost-benefit ratio, and determining the appropriate targetaudience for the marketing campaign is essential to positive returns.Variations of the recency, frequency, and monetary value (RFM) modelhave been widely applied in many commercial and solicitation areas,particularly in direct marketing. Recency (R) refers to a measure of howrecently a contact responded to a solicitation, such as making apurchase or responding to a solicitation for contributions by making adonation. Frequency refers to the total number of responses a contacthas made within a designated time period, such as the number of distinctpurchases made within the last six months, for example. Monetary valuerefers to the total value of purchases made (or donations made) within adesignated time period.

By applying an RFM model, marketing campaign decision makers can moreeffectively identify contact sets that are more likely to respond andtherefore improve the cost-benefit ration of marketing, as well asimprove overall results. To apply an RFM model requires accumulatingdata associated with the activities of responders to sales orcontribution solicitations. Although RFM models offer a means toidentify targeted audiences, shortcomings exist that fail to distinguishdifferences in contact data.

BRIEF SUMMARY

Embodiments of the present invention disclose a method, computer programproduct, and system for including a trend factor in recency, frequency,and monetary (RFM) scores. A computer determines an RFM score for eachof a plurality of contacts, each RFM score comprising a recency score, afrequency score and a monetary score respectively based on assigningrecency values, frequency values, and monetary values of the pluralityof contacts to groups. The computer generates trend factors, wherein thetrend factors are based on the monetary values and timestamps of each ofa plurality of transactions for each contact of the plurality ofcontacts. The computer generates a mean trend factor, based on the trendfactors generated for each of the plurality of transactions for eachcontact of the plurality of contacts, and determines, by one or moreprocessors, a trend adjusted RFM (tRFM) score based on applying the meantrend factor to at least one of the recency score, the frequency score,and the monetary score, for each contact of the plurality of contacts.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a functional block diagram illustrating a distributed dataprocessing environment, in accordance with an embodiment of the presentinvention.

FIG. 2 illustrates exemplary RFM bin organization and RFM scoredetermination, in accordance with an embodiment of the presentinvention.

FIG. 3 illustrates operational steps of a trend adjusted RFM program,operating on a computing device within the data processing environmentof FIG. 1, in accordance with an embodiment of the present invention.

FIG. 4 depicts a block diagram of components of a computing devicecapable of performing the operational steps of a trend adjusted RFMprogram, within the distributed data processing environment of FIG. 1,in accordance with an illustrative embodiment of the present invention.

DETAILED DESCRIPTION

Embodiments of the present invention recognize that similar RFM scoresmay result from different and even diverging contact data. Contacts maybe customers making purchases, donors making donations, or responders toother solicitation or advertising. For example, the two contacts may becustomers that both make purchases each week and have a most-currentpurchase date of five days previous to the current date. Both customersmay have spent the same monetary amount on purchases over the last sixmonths ($2400, for example). Both customers have the same recency (fivedays ago), the same frequency (twenty four purchases in the last sixmonths) and the same monetary value ($2400), expended during the sixmonth time period. Based on the data, the RFM score for both customersis the same implying that both customers would have similar responserates to a sales campaign promoting products purchased by bothcustomers.

However, further analysis of the customer data indicates that onecustomer has been gradually increasing the monetary value of purchaseseach week for the past six months, starting from a lower purchase level,while conversely, the other customer has been decreasing the amount ofpurchases each week over the past six months, starting from a higherpurchasing level. The differing trends of the two customers clearlydistinguishes them and including information of this type in RFM scoringimproves the effectiveness of identifying audiences that are more likelyto respond to a particular type of campaign or respond to a greaterlevel to one type of campaign as compared to other types of campaigns.Similarly one customer may be more likely to purchase more whereas theother customer may be a risk of retention and a different campaignstrategy may be more appropriate.

Embodiments of the present invention include a trend factor to apply toRFM scores to more effectively represent trend behavior in customer dataas applied to campaigns or marketing audience selection and result inimproved response rate of appropriately targeted contact audiences.

Implementation of such embodiments may take a variety forms, andexemplary implementation details are discussed subsequently withreference to the Figures.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer-readablemedium(s) having computer readable program code/instructions embodiedthereon.

Any combination of computer-readable media may be utilized.Computer-readable media may be a computer-readable signal medium or acomputer-readable storage medium. A computer-readable storage medium maybe, for example, but not limited to, an electronic, magnetic, optical,electromagnetic, infrared, or semiconductor system, apparatus, ordevice, or any suitable combination of the foregoing. More specificexamples (a non-exhaustive list) of a computer-readable storage mediumwould include the following: an electrical connection having one or morewires, a portable computer diskette, a hard disk, a random access memory(RAM), a read-only memory (ROM), an erasable programmable read-onlymemory (EPROM or Flash memory), an optical fiber, a portable compactdisc read-only memory (CD-ROM), an optical storage device, a magneticstorage device, or any suitable combination of the foregoing. In thecontext of this document, a computer-readable storage medium may be anytangible medium that can contain, or store a program for use by or inconnection with an instruction execution system, apparatus, or device.

A computer-readable signal medium may include a propagated data signalwith computer-readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer-readable signal medium may be any computer-readable medium thatis not a computer-readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer-readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on a user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable medium that can direct a computer, other programmabledata processing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer-readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce acomputer-implemented process such that the instructions which execute onthe computer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The present invention will now be described in detail with reference tothe Figures. FIG. 1 is a functional block diagram illustrating adistributed data processing environment, generally designated 100, inaccordance with one embodiment of the present invention. Distributeddata processing environment 100 includes computing device 110, contacttransaction 120, and historic data 130, interconnected via network 150.

Network 150 can be, for example, a local area network (LAN), a wide areanetwork (WAN) such as the Internet, or a combination of the two, and caninclude wired, wireless, or fiber optic connections. In general, network150 can be any combination of connections and protocols that willsupport communications between computing device 110, contacttransactions 120, historic data 130, and other devices.

Contact transactions 120 is a database containing data for a set ofcontacts that have made a transaction within distributed data processingenvironment 100. Transaction data within contact transactions 120includes, but is not necessarily limited to, customer ID, timestamp ofeach transaction, the monetary amount of each transaction, and acalculated number of transactions per unit of time specified. The datafrom contact transactions 120 can be sorted in levels by data field,such as sorting all the data by contact, then sorting each contact'sdata by transaction timestamp, from the most recent transaction(response) to least recent. In one embodiment, contact transactions 120resides on a tangible, persistent storage device of computing device110, while in other embodiments, contact transactions 120 is stored on atangible, persistent storage device remote to computing device 110, butaccessible via network 150.

Data from contact transactions 120 is sorted and used to generate RFMscores for each contact. RFM scores are used to group contacts withsimilar RFM scores based on data that indicates a correlation indicatingthat contact groups with an RFM score within a certain range are morelikely to respond to campaign activity than contact groups havingdifferent RFM scores.

Contacts are assigned RFM scores by sorting contact data to obtain thetimestamp of transactions from most recent to least recent, the numberof transactions, and the monetary value of each transaction, for aspecified period of time. Contacts are sorted by their recency,frequency and monetary values iteratively to assign them to various“bins” which are groupings with associated value ranges for each of therecency, frequency and monetary value data parameters. For example, eachof recency, frequency and monetary value may be segmented into 5groupings or “bins”. The recency of transactions may assign contacts whohave made a transaction in the last week to bin number 5; those who havemade a most recent transaction between one and two weeks ago may beassigned to bin number 4; those making transactions between two andthree weeks ago may be assigned to bin number 3, and so on.

Each recency bin is further segmented into 5 frequency bins, andcontacts from each recency bin, for example bin 5, are further assignedto one of the 5 frequency bins, based on the total number oftransactions in the specified period. Contacts with the higher number oftransactions are assigned to bin number 5 and contacts withprogressively fewer transactions are respectively assigned to bins 4, 3,2, and 1.

Contacts in each frequency bin are further assigned to a monetary valuebin. Similar to the assignment of the other bins, contacts having thehighest level of monetary value for the period specified, are assignedto bin number 5. Contacts with the next level of monetary values areassigned to bin 4, and so on. In one embodiment of the presentinvention, the parameter ranges for each bin are chosen to achieve or atleast approximate an equal distribution of contacts in each bin, inanother embodiment, bin ranges are specifically chosen based on othercampaign related information regardless of the resulting distribution ofcontacts assigned to bins.

Typically, 5 bins for each of recency, frequency and monetary value, areused to derive RFM scores, sometimes referred to as quintiles, however,other choices of the number of bins to use can be effective. Havingassigned contacts to three tiers of numbered bins, contacts are groupedby the bin number for each of the RFM parameters, for example, one groupmay be in recency bin number 5, frequency bin number 2 and monetaryvalue bin number 4. In one embodiment, a weight is given to each ofrecency, frequency and monetary value. Typically this would berepresented by: recency bin number×100, frequency bin number×10 andmonetary value bin number×1. The weighted numbers would be summed sothat for contacts in bin 5 for each of recency, frequency and monetaryvalue parameters, the RFM score would be: (5×100)+(5×10)+(5×1) producingan RFM score of 555. In another embodiment, RFM scores are evenlyweighted and the evenly weighted bin numbers for recency, frequency, andmonetary value are summed, for example: 5×1+5×1+5×1=15.

Historic data 130 is a database that includes data associated withcontacts that were included in previous campaign activities orsolicitations. Historic data 130 includes data identifying the contact,response activity or transactions of the contact, and the value of thetransaction or response activity. Historic data 130 may also include asubject or description associated with the campaign intent orobjectives. Historic data 130 may be used to determine weights to beapplied to values of recency, frequency, and monetary value, to improveeffectiveness of RFM scores.

Computing device 110 may be a desktop computer, laptop computer, aspecialized computer server, a client computer, tablet, or netbookpersonal computer (PC), a personal digital assistant (PDA), a smartphone, a mainframe computer, or a networked server computer. Further,computing device 110 can represent computing systems utilizing clusteredcomputers and components to act as single pools of seamless resourceswhen accessed through network 150, as is common in data centers and withcloud computing applications. In general, computing device 110 isrepresentative of any programmable electronic device or combination ofprogrammable electronic devices capable of executing machine-readableprogram instructions. Computing device 110 may include internal andexternal hardware components, as depicted and described in furtherdetail with respect to FIG. 4.

Computing device 110 includes trend adjusted RFM program 300, which usesdata from contact transactions 120 to generate trend factors for eachtransaction, and uses the trend factors to calculate a mean trendfactor. Each trend factor and mean trend factor are associated with aspecific contact and are applied to traditional RFM scores that aregenerated for particular campaign activities, to further distinguishcontacts by the trend of transactions. Applying a mean trend factor toRFM scores includes representation of transaction trends for the periodof time considered.

FIG. 2 illustrates exemplary segmentation and RFM score determination,in accordance with an embodiment of the present invention. RFM scoresare used to segment a population of contacts, which may be customers ordonors, so that the portion of contacts most likely to respond istargeted. Contacts are sorted in a descending order presenting the “bestvalue” first, followed by the “next-best-value”, and so on. The contactdata for recency, frequency, and monetary value are sorted such that themost recent response is the best value for recency, the highest amountof responses in a defined time period is the best frequency value, andthe largest amount of either purchase or donation within the samedefined time period is the best value for monetary value.

In one embodiment of the present invention, RFM scores are determined bysorting contacts into five groups or bins, for each of recency,frequency, and monetary value, and each group or bin contains similarnumbers of contacts, each of the five bins referred to as quintiles.Embodiments of the present invention also apply to segmenting contactsinto groupings of other than quintiles and may apply to segmented groupsthat do not contain similar numbers of contacts. Recency bins 210 aredepicted as bins R5, R4, R3, R2, and R1. Recency bins 210 include a setof contacts' identities, hereafter referred to as “contacts”, consideredfor a defined time period. Each bin includes contacts having similarrecent response timestamps. R5 includes the contacts with the mostrecent responses; R4 represents the next most recent range of responses,and so on. RFM contact data is sorted initially by recency timestamp,next sorted by frequency, followed by monetary value sorting, however,embodiments of the present invention apply to other orders of contactdata sorting as well. All contacts assigned to a recency bin areassociated with the value of the recency bin. The contacts associatedwith recency bin R5 have a recency value of 5; R4 contacts are have arecency value of 4 and so on, with R1 contacts having a recency value of1.

Recency bins 210 depict bin R5 as further segmented into frequency bins220. Contacts of each bin of recency bins 210, are sorted by frequencyvalue into one of five frequency bins 220, labeled F5, F4, F3, F2, andF1. The contacts having the highest frequency values are grouped intobin F5 of frequency bins 220, and have a frequency value of “5”. Thecontacts having the next highest frequency values are grouped into binF4, and receive a frequency value of “4”, and so on. Similarly, thecontacts in bins F3, F2, and F1 of frequency bins 220 have respectivefrequency values of “3”, “2”, and “1”.

Continuing with the exemplary illustration of RFM sorting of contacts,the contacts within each bin of frequency bins 220 is further sortedinto one of five monetary value bins 230, represented by M5, M4, M3, M2,and M1. Contacts having the highest monetary values for the defined timeperiod are included in bin M5 of monetary value bins 230, and have amonetary value of “5”. The contacts having the next highest monetaryvalues are included in bin M4, and have a monetary value of “4”, and soon. Having completed three levels of sorting, an RFM score can begenerated for each contact by using the recency, frequency and monetaryvalues of each bin to which the contact is associated.

RFM scores may be generated by using different methodologies. One way inwhich RFM scores are generated is by applying an equal weight to each ofthe recency scores, frequency scores, and monetary value scoresassociated with each bin, and summing the individual scores to producean RFM score. For example, the contacts in bin R5 of recency bins 210are assigned a recency score of “5”. Of those contacts in bin R5, someare sorted into frequency bin F5 of frequency bins 220, and assigned afrequency score of “5”. The contacts of bin F5 are sorted by monetaryvalue and some are assigned to bin 5 of monetary value bins 230,receiving a monetary value score of “5”. The contacts of bin M5 haverecency score 5, frequency score 5 and monetary value score 5, asdepicted in equal weight RFM score 240. As illustrated, the individualRFM values can be summed to produce an RFM score of 15. Equal weight RFMscores from other bins will have RFM scores ranging from 3 to 14.

Another method to generate an RFM score is by applying different weightsto the recency, frequency and monetary value scores. This is done tofurther segment contact populations and may make use of the strength ofeach correlation of recency, frequency and monetary value to contactresponse. For example, weighted RFM score 250 depicts an RFM group orbin having a recency score of 5, a frequency score of 5 and a monetaryvalue score of 5. The example assigns a weight of 100 to the recencyscore, a weight of 10 to the frequency score and a weight of 1 to themonetary score, resulting in equation (1).

(R×100)+(F×10)+(M×1)=(5×100)+(5×10)+(5×1)=555  (1)

This method produces 125 bins with RFM scores ranging from 111 to 555,in which the higher the score, the higher the probability of a contactresponding to solicitation. In other exemplary embodiments, differentweights may be applied, or given weights applied differently to therecency, frequency and monetary value scores. Weights and scores may bealternatively assigned to recency, frequency and monetary value, suchthat the lower the RFM score, the higher the probability of a contactresponding to solicitation, as long as weighting, scores andinterpretation are done consistently.

As previously stated embodiments of the present invention recognize thatsimilar RFM scores may result from different and even diverging contactdata. Including information regarding the trend of contact behaviorrelative to RFM scoring improves the effectiveness of identifyingcontact audiences that are more likely to respond to campaignsolicitations. Embodiments of the present invention include a trendfactor to apply to RFM scores to more effectively represent the trend ofcustomer or donor behavior as it applies to campaign or marketingaudience selection.

Equal-weighted trend RFM score 260 depicts a mean trend (μt) factor usedto generate a trend adjusted RFM score (tRFM) for equal weights given tothe recency, frequency, and monetary value bins. In one embodiment, themean trend factor is the statistical average of the trend factors foreach transaction of a contact within the defined time period beingconsidered. Each trend factor is obtained from the ratio of a currenttransaction monetary value to the previous transaction monetary value,beginning with the most recent transaction. A trend factor is determinedfor each transaction of a contact, with the last transaction assigned atrend factor value, such as the value 1, to avoid dividing by zero. Thestatistical average of all the trend factors for the transactions of acontact is the mean trend factor. In other embodiments, the mean trendfactor may be substituted by a median value or the mode value of thegenerated trend factors for the transactions of a contact.

For equal-weighted RFM bins, the mean trend factor is applied to thegeneration of an RFM score by creating a trend factor bin and assigningcontact identities to bins based on the mean trend factor valuedetermined for each contact. The trend factor bin score (5 through 1),to which a contact is assigned, is added to the sum of recency,frequency and monetary value scores to generate a trend adjusted RFM(tRFM) score. Equal-weighted trend RFM score 260 shows recency,frequency and monetary value scores of 5, for example, which wouldresult in an RFM score of 15. In the example, the same contact producesa mean trend factor of 1.2, which is assigned a trend bin value (T) of4, out of al to 5 range of trend bin values. The resulting trendadjusted RFM score is shown by equation (2) to be adjusted to an overallRFM score of 19.

(5×1)+(5×1)+(5×1)+(4×1)=19  (2)

(R)+(F)+(N)+T=(tRFM).

The mean trend factor reflects a positive trend in monetary value overthe time period being considered. Adding the mean trend factor bin valueof “4” to the R, F, and M scores, respectively, results in the tRFMscore of 19 out of a possible score of 20, and aligns with contacts thatare among those likely to respond.

In embodiments using the mean trend factor with weighted RFM scores, themean trend factor is multiplied with one of the recency, frequency ormonetary value scores to adjust the weighted RFM score. As illustratedby weighted trend RFM score 270, recency, frequency and monetary valueare given different weights. In an exemplary embodiment, weighted trendRFM score 270 depicts recency given a weight of 100, frequency a weightof 10, and monetary value a weight of 1. The mean trend factor ismultiplied with whichever of the recency, frequency or monetary binvalue that is the most relevant and has the strongest correlation withhistoric responses of similar campaigns. In cases lacking historicresponses of similar campaigns, the mean trend factor is multiplied withthe bin value that is given the median of weighted values. Weightedtrend RFM score 270 gives the median weight of 10, from weights of 100,10, and 1, to the frequency bin score. Lacking historic responsecorrelation data of similar campaigns, the mean trend factor ismultiplied with the frequency bin score.

In alternative embodiments of the present invention, a time intervalweighted mean trend factor is used to provide the steepness or rate oftrend over the defined time period. The weighted mean trend factor (wμT)is obtained by generating the ratio of the summation of the product ofthe trend value, as described above, and the reciprocal of the timeperiod between transactions, for each transaction of a contact, to thereciprocal of the time period between transactions. The calculation isshown in equation (3),

wμT=[t ₁*(1/(P ₁ −P ₂))+t ₂*(1/(P ₂ −P ₃))+ . . . +1/1]/[(1/(P ₁ −P₂))+(1/(P ₂ −P ₃))+ . . . +(1/1)]  (3)

where T₁ is the trend factor for the most recent transaction of aparticular contact, T₂ is the trend factor for the second most recenttransaction of the particular contact, and so on. P₁−P₂ is thedifference between the most recent transaction timestamp (P₁) and thenext most recent transaction timestamp (P₂), in appropriate time units.For the least recent transaction of the particular contact, the value 1is used for the denominator. The time interval weighted mean trendfactor, hereafter referred to as the “weighted mean trend factor”, isdetermined for each contact, and used in place of the (simple) meantrend factor for determining the trend adjusted RFM scores, as describedabove.

In another embodiment of the present invention, the mean trend factorfor each contact of the plurality of contacts may be determined byplotting the generated trend factors for each transaction of a contactas a function of the transaction timestamps, from least recent to mostrecent, and summing a best fit calculated slope of the plot and thevalue 1.

FIG. 3 illustrates operational steps of a trend adjusted RFM program,operating on a computing device within the data processing environmentof FIG. 1, in accordance with an embodiment of the present invention.Trend adjusted RFM program 300 resides on computing device 110 and usescontact transaction data to determine RFM scores for each of multiplecontacts. In addition, trend adjusted RFM program 300 uses contacttransaction data to generate a mean trend factor that when applied to athe RFM score of a contact results in a trend adjusted RFM score.

Trend adjusted RFM program 300 receives contact data (step 310). In oneembodiment of the present invention, the contact data resides in contacttransactions 120 (FIG. 1), which is a database accessible to trendadjusted RFM program 300, in other embodiments, contact data may residein one or more locations and is sent to trend adjusted RFM program 300in response to requests, or accessed by trend adjusted RFM program 300from each of one or more data storage locations. The contact dataincludes, at least in part, transaction information identifying thecontact, the timestamp of each transaction, and the transaction value.For example, trend adjusted RFM program 300 sends a request for contactdata for a six month time period, to contact transactions 120. Contacttransactions 120 responds by sending the transaction information for allcontacts for the six month period specified, to trend adjusted RFMprogram 300, residing on computing device 110, via network 150.

Trend adjusted RFM program 300 sorts the transaction data by contact,and sorts each contact's data by transaction recency (step 320). Forexample, trend adjusted RFM program 300 receives contact data fromcontact transactions 120, and sorts the data by contact. Trend adjustedRFM program 300 further sorts each contact's data by transactionrecency, sorting from the most recent transaction to the least recenttransaction, for each contact.

Using the transaction recency data, trend adjusted RFM program 300 usesgroupings or “bins” to group contacts with similar transaction recency.Trend adjusted RFM program 300 determines the number of bins to be usedand assigns contacts to recency bins (step 330). In one embodiment ofthe present invention, trend adjusted RFM program 300 receives input forthe number of bins to be used from user input, in other embodiments adefault number of bins may be used. RFM scores are frequently determinedfrom use of five or ten bins for each of recency, frequency, andmonetary value contact data elements, depending upon the amount ofsegmentation desired. Values, such as 5, 4, 3, 2, and 1, are given toeach of the bins, and each contact assigned to a bin is associated withthe bin value. Contacts with the most recent transaction timestamp areassigned to the recency bin with the highest value, such as the bin withthe value 5, for five-bin segmentation. Contacts with the next mostrecent transactions are assigned to bin 4 and so on, until all contactsare assigned to recency bins.

For example, trend adjusted RFM program 300 uses five bins forsegmenting contacts by transaction recency. For the period of time beingconsidered for the RFM scoring, trend adjusted RFM program 300 assignscontacts with the most recent transactions to bin 5, and assignscontacts with the next most recent transactions to bin 4 and so on untilthe contacts with the least recent transactions are assigned to recencybin 1.

Trend adjusted RFM program 300 assigns contacts in each recency bin to afrequency bin (step 340). Contacts that have been assigned to a recencybin, such as bin 5, are further assigned to a frequency bin, based onthe total number of transactions made by the contact during thedesignated period of time being considered for the RFM scoring. Trendadjusted RFM program 300 uses the sorted contact data to determine thetransaction frequency number for each contact. The number of frequencybins used matches the choice of the number of bins used for transactionrecency. The frequency bins are given values, for example 5, 4, 3, 2,and 1, if five bins are being used for segmentation, and the contactswith the highest frequency of transactions are assigned to the bin withthe highest value (5).

For example, the contacts assigned to bin 5 based on transactionrecency, are assigned by trend adjusted RFM program 300 to one of fivebins for frequency. The contacts having the highest number oftransactions are assigned to bin 5, and the contacts with the nexthighest number of transactions are assigned to bin 4, and so on. In oneembodiment, the range of values for bins is determined by trend adjustedRFM program 300 so that each bin includes similar numbers of contacts.In other embodiments, the range of values is specifically set and thenumber of contacts assigned to each bin may vary. Each contact assignedto recency bin 5 is now assigned to one of five frequency bins, andtrend adjusted RFM program 300 assigns contacts from the other recencybins to an appropriate frequency bin, based on contact transaction data.

Trend adjusted RFM program 300 assigns each contact in a frequency binto a monetary value bin (step 350). Contacts that have been assigned toa frequency bin, for example, frequency bin 5, are assigned to amonetary value bin, based on the monetary value of the transactions madeby the contact during the designated period of time being considered forthe RFM scoring. In one embodiment, the monetary value of the mostrecent transaction is used to determine the appropriate monetary bin towhich the contact is assigned, on other embodiments the overall monetaryvalue for the designated time period is used to assign the contact to amonetary bin. In yet other embodiments of the present invention,different representations of the monetary value of transactions for acontact in appropriate time units may be used to assign a contact to amonetary bin. The same number of bins is used for assigning contactsfrom each frequency bin to a monetary value bin, and the contacts withthe highest transaction values are assigned to the bin with the highestvalue.

For example, the contacts assigned to frequency bin 5 based on thenumber of transactions are assigned by trend adjusted RFM program 300 toone of five bins for monetary value. The contacts having the highestvalue for the most recent transaction are assigned to bin 5, and thecontacts with the next highest value of the most recent transaction areassigned to bin 4, and so on, until all contacts from frequency bin 5are assigned to one of the five monetary value bins.

Having assigned all contacts to a recency, frequency and monetary valuebin, with all bins assigned a corresponding value, RFM scores can bedetermined for all contacts. Trend adjusted RFM program 300 appliesweighting and determines an RFM score for each contact (step 360). Eachbin for recency, frequency, and monetary value is assigned a value, andthe value of each bin is associated with the respectively assignedcontacts. Each contact assigned to a recency bin, frequency bin, andmonetary value bin, has three corresponding values that combine to forman RFM score of the contact. However, RFM scores include adding equal orunequal weights to the values for recency, frequency and monetary value.If equal weights are given to contact values for recency, frequency andmonetary value, a weighted value of 1 can be assumed and the RFM scoredetermined by adding the values for each of recency, frequency andmonetary value. For a contact in recency bin 5, frequency bin 5 andmonetary value bin 5, the equal weighted RFM score is 15 (5×1+5×1+5×1).

Unequal weights are similarly multiplied by the bin value and the resultfor each bin summed to obtain the RFM score. For example, for a contactassigned to recency bin 5, frequency bin 5 and monetary value bin 5, therecency bin value may be given a weight of 100, and the frequency binvalue given a weight of 10 and the monetary value bin given a valueof 1. The RFM score would be determined by summing the product of eachbin value and the corresponding weight. In this example the recency binis 5×100, the frequency bin is 5×10 and the monetary value bin is 5×1,which sums to 555 for an RFM score.

Trend adjusted RFM program 300 generates a mean trend factor for eachcontact (step 370). Trend adjusted RFM program 300 uses the sortedtransaction data for each contact and generates a trend factor for eachtransaction by a ratio of the most recent transaction value to theprevious most recent transaction value. The ratio for the least recenttransaction value uses 1 as the denominator. In one embodiment of thepresent invention, a mean trend factor is generated for all contactsusing a statistical average of all transaction trend factors for eachcontact.

For example, trend adjusted RFM program 300 generates trend factors forfive transactions made by a contact within a designated period of timebeing considered for RFM scoring. Each trend factor is generated bytaking the value of a ratio of the most recent transaction value to thenext most recent transaction value, with the least recent transactionusing the value 1 as the denominator of the ratio. The mean trend factoris generated from the statistical average of all the individual trendfactors for the contact during the designated period of time.

In another embodiment of the present invention, a time interval weightedmean trend factor (wμT) is generated. The time interval weighted meantrend factor, hereafter referred to as the “weighted mean trend” factor,may be used as an alternative trend factor in generating trend adjustedRFM (tRFM) scores. The weighted mean trend factor accounts for thesteepness of the response behavior trend of a contact. The weighted meantrend factor is calculated by a quotient of, the sum of the product ofeach trend factor and the reciprocal of the duration of time from themost recent transaction to the next most recent transaction, and thereciprocal of the duration time between the most recent and next mostrecent transactions, (see equation (3)). For the least recenttransaction, the duration time is replaced with the value of 1.

Trend adjusted RFM program 300 determines the trend adjusted RFM scorefor each contact (step 380). For equal weighted RFM scores, the meantrend factors, or alternatively the weighted mean trend factors, areconsidered as an additional bin, and the trend factor is added to theRFM score, resulting in a tRFM score. The addition of the trend factoradjusts the contact's RFM score, based on trend information, relative toother contacts' scores. For example, a contact with a mean trend factor(μT) of 1.4 and RFM score of R=5+F=4+M=3, would be adjusted from 12, to13.4, and in one embodiment, rounded to a score of 14.

For unequal or differential weighted RFM scores, trend adjusted RFMprogram 300 the mean trend factor or weighted mean trend factor isapplied as a multiple to one of the recency, frequency or monetary valuefactors that has the highest correlation with responses from similarcampaigns in the past. Lacking historic response data, the defaultpractice is to apply the mean trend factor to the RFM value with themedian weight. In the case of applying weights of 100, 10 and 1 tovalues for recency, frequency and monetary value, respectively, the meantrend factor is applied as a product of the median weight of 10, and theresulting tRFM score is obtained from equation (4):

(R×100)+(F×10×μT)+(M×1)=tRFM  (4)

For example, a tRFM score is generated for a contact having a recencybin value of 5, a frequency bin value of 4 and a monetary value binvalue of 3 and a mean trend factor of 0.825. There is no previoussimilar campaign response data to indicate which bin produces the bestresponse results when the mean trend factor is applied. The weightedtRFM score uses weights of 100 for recency, 10 for frequency and 1 formonetary value, and the mean trend factor (or weighted meant trendfactor) is applied to the frequency bin value because the median of theweights (10) is applied to the frequency bin. The tRFM score isgenerated using the expression (R×100)+(F×10×μT)+(M×1), and insertingthe contact values for each bin produces:(5×100)+(4×10×0.825)+(3×1)=tRFM. Evaluating the expression gives thetRFM score of 536 instead of the non-trend-adjusted score of 543.

A tRFM score is generated for each contact and the resulting scores canthen be used to more effectively choose contacts for promotion orretention campaigns, or determine actions and strategies that moreeffectively apply to groups of contacts. Having generated tRFM scoresfor contacts, trend adjusted RFM program 300 ends.

FIG. 4 depicts a block diagram of components of a computing devicecapable of performing the operational steps of a trend adjusted RFMprogram, within the distributed data processing environment of FIG. 1,in accordance with an illustrative embodiment of the present invention.It should be appreciated that FIG. 4 provides only an illustration ofone implementation and does not imply any limitations with regard to theenvironments in which different embodiments may be implemented. Manymodifications to the depicted environment may be made.

Computing device 400 includes communications fabric 402, which providescommunications between computer processor(s) 404, memory 406, persistentstorage 408, communications unit 410, and input/output (I/O)interface(s) 412. Communications fabric 402 can be implemented with anyarchitecture designed for passing data and/or control informationbetween processors (such as microprocessors, communications and networkprocessors, etc.), system memory, peripheral devices, and any otherhardware components within a system. For example, communications fabric402 can be implemented with one or more buses.

Memory 406 and persistent storage 408 are computer-readable storagemedia. In this embodiment, memory 406 includes random access memory(RAM) 414 and cache memory 416. In general, memory 406 can include anysuitable volatile or non-volatile computer-readable storage media.

Trend adjusted RFM program 300 is stored in persistent storage 408 forexecution by one or more of the respective computer processors 404 viaone or more memories of memory 406. In this embodiment, persistentstorage 408 includes a magnetic hard disk drive. Alternatively, or inaddition to a magnetic hard disk drive, persistent storage 408 caninclude a solid state hard drive, a semiconductor storage device,read-only memory (ROM), erasable programmable read-only memory (EPROM),flash memory, or any other computer-readable storage media that iscapable of storing program instructions or digital information.

The media used by persistent storage 408 may also be removable. Forexample, a removable hard drive may be used for persistent storage 408.Other examples include optical and magnetic disks, thumb drives, andsmart cards that are inserted into a drive for transfer onto anothercomputer-readable storage medium that is also part of persistent storage408.

Communications unit 410, in these examples, provides for communicationswith other data processing systems or devices, including resources ofdistributed data processing environment 100, computing device 110,contact transactions 120 and historic data 130. In these examples,communications unit 410 includes one or more network interface cards.Communications unit 410 may provide communications through the use ofeither or both physical and wireless communications links. Trendadjusted RFM program 300 may be downloaded to persistent storage 408through communications unit 410.

I/O interface(s) 412 allows for input and output of data with otherdevices that may be connected to server computer 102. For example, I/Ointerface 412 may provide a connection to external devices 418 such as akeyboard, keypad, a touch screen, and/or some other suitable inputdevice. External devices 418 can also include portable computer-readablestorage media such as, for example, thumb drives, portable optical ormagnetic disks, and memory cards. Software and data used to practiceembodiments of the present invention, e.g., trend adjusted RFM program300 can be stored on such portable computer-readable storage media andcan be loaded onto persistent storage 408 via I/O interface(s) 412. I/Ointerface(s) 412 also connect to a display 420.

Display 420 provides a mechanism to display data to a user and may be,for example, a computer monitor.

The programs described herein are identified based upon the applicationfor which they are implemented in a specific embodiment of theinvention. However, it should be appreciated that any particular programnomenclature herein is used merely for convenience, and thus theinvention should not be limited to use solely in any specificapplication identified and/or implied by such nomenclature.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

What is claimed is:
 1. A method for including a trend factor in recency,frequency, and monetary (RFM) scores, the method comprising: generatingan RFM score for each of a plurality of contacts, each RFM scorecomprising a recency score, a frequency score and a monetary scorerespectively based on assigning recency values, frequency values, andmonetary values of the plurality of contacts to groups; generating trendfactors, wherein the trend factors are based on the monetary values andtimestamps of each of a plurality of transactions for each contact ofthe plurality of contacts; generating a mean trend factor, based on thetrend factors generated for each of the plurality of transactions foreach contact of the plurality of contacts; and determining, by one ormore processors, a trend adjusted RFM (tRFM) score based on applying themean trend factor to at least one of the recency score, the frequencyscore, and the monetary score, for each contact of the plurality ofcontacts.
 2. The method of claim 1, wherein the step of generating trendfactors for each of the plurality of contacts further comprises:determining, by one or more processor, a first transaction and a secondtransaction from a plurality of transactions for a contact of theplurality of contacts, wherein the second transaction follows the firsttransaction; and generating the trend factors for each of the pluralityof contacts, based on a quotient of the monetary value of the firsttransaction and the monetary value of the second transaction, for eachof the plurality of transactions of each contact of the plurality ofcontacts.
 3. The method of claim 1, wherein the trend factors aregenerated based on a period of time between the timestamps of atransaction and a next transaction for each of the plurality oftransactions, for each contact of the plurality of contacts, wherein theperiod of time for a last transaction is assigned a value.
 4. The methodof claim 1, wherein, generating a mean of the trend factors for eachcontact of the plurality of contacts further comprises: determining atransaction and a next transaction for each of a plurality oftransactions; and generating a weighted mean trend factor as a quotientof: a summation of a product of a trend factor and a reciprocal of aduration of time between the transaction and the next transaction foreach of the plurality of transactions, and a summation of the reciprocalof the duration of time between the transaction and the next transactionfor each of the plurality of transactions. wherein the reciprocal of theduration of time for a last transaction of the plurality of transactionsis assigned a value.
 5. The method of claim 1, wherein the mean trendfactor is applied to at least one of the recency score, the frequencyscore, and the monetary score that is most relevant, based on results ofprevious related campaign activity.
 6. The method of claim 1, furthercomprising: in response to a lack of historic correlation data ofsimilar campaign activity, applying the mean trend factor to a medianweighted component of differential weights for the recency value,frequency value or monetary value of the RFM score.
 7. The method ofclaim 1, wherein the mean trend factor is one of: an average, a median,or a mode.
 8. The method of claim 1, wherein the mean trend factor foreach contact of the plurality of contacts is determined as a sum of abest fit calculated slope of a plot of the trend factors of theplurality of transactions, from a least recent transaction to a mostrecent transaction, and a value of 1.